home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 May / Macworld (1998-05).dmg / Shareware World / Comms & Internet / USRARA / U.S. Robotics High Speed / U.S. Robotics High Speed next >
Text File  |  1998-03-03  |  13KB  |  663 lines

  1. !  U.S. Robotics High Speed Script for all products (hopefully)
  2. !  Finalized 3/3/98
  3. !  Author:    PCD Applications Engineering
  4. !  Loosely based on a Modem Script Generator file
  5. !
  6. ! PCD address:
  7. !
  8. ! 3Com 
  9. ! 7770 N. Frontage Rd.
  10. ! Skokie, IL 60077
  11. !
  12. ! Corporate Systems Courier, Shared Access, Total Control) Support:
  13. ! Phone: (800) 550-7800 (Courier only)
  14. ! Phone: (800) 231-8770 (Total Control and Allegra)
  15. ! Fax: (847) 222-0823
  16. !
  17. ! Personal Communications (Sportster) Support:
  18. ! Phone: (847) 982-5151
  19. ! Fax: (847) 676-7314
  20. !
  21. ! General Support Sites:
  22. ! BBS: (847) 982-5092
  23. ! Mac BBS: (847) 676-1598
  24. !       FIDO: 1:115/500
  25. !       RIME: USRUSA #174
  26. !       PRIME: 98:212/1
  27. ! Compuserve Forum: GO USROBOTICS
  28. ! Compuserve Mail: 76711,707
  29. ! AOL Forum: Keyword "USROBOTICS"
  30. ! Fax On Demand Domestic: (800) 762-6163
  31. ! Internet Support: support@usr.com  (gets a list of documents)
  32. ! FTP Site: ftp.usr.com
  33. ! Main WWW Site: http://www.3com.com
  34. ! WWW site for Corporate Systems: http://totalservice.usr.com
  35. !
  36. ! International Information:
  37. ! BBS: (+33) 20 05 32 41
  38. ! Fax: (+33) 20 05 32 40
  39. ! Phone: (+33) 20 19 19 59  available M-F 9:00am-12:30pm, 1:30pm-6:00pm GMT+1
  40. ! Internet Support: eurosupport@usr.com
  41. ! UK Internet Support: uksupport@usr.com
  42. ! US Fax On Demand from international: (847) 676-8536
  43. !
  44. !
  45. !  This script should work with most of our modems using our current
  46. !  command set.  This would include all of our 9600, 14400, 28800/33600, x2 
  47. !  and v.90 modems. It should also work, for the most part, with any USR 
  48. !  ISDN device.
  49. !
  50. !  The script will attempt to talk to the modem at 230.4 port speed and 
  51. !  if it fails, it will attempt the next lowest speed. It will continue to 
  52. !  do this until it gets an OK back from the system and/or until the system 
  53. !  says it's an OK speed.
  54. !
  55. !  'mlts' resource info for this modem:
  56. !    byte 1 == 01 -> modem HAS built in reliability protocols
  57. !    byte 2 == 01 -> modem HAS built-in data compression protocols
  58. !    byte 3 == 58 -> max hex chars in varstr 7
  59. !    byte 4 == 58 -> max hex chars in varstr 8
  60. !    byte 5 == 58 -> max hex chars in varstr 9
  61. !       
  62. @ORIGINATE
  63. @ANSWER
  64. ! Set up the port and test to see if the modem is responding.
  65. @LABEL 1
  66. serreset 57600, 0, 8, 1
  67. hsreset 0 0 0 0 0 0
  68. settries 0
  69. matchclr
  70. matchstr 1 2 "OK\13\10"
  71. write "AT\13"
  72. matchread 30
  73. jump 6
  74. !
  75. @LABEL 2
  76. !
  77. matchclr
  78. matchstr 1 3 "OK\13\10"
  79. matchstr 2 100 "ERROR\13\10"
  80. write "AT&F&A3&B1&H1&R2&D0&K3&M4E0V1Q0S0=0X4\13"
  81. matchread 30
  82. inctries
  83. iftries 3 100
  84. pause 2
  85. write "+++"
  86. pause 2
  87. write "ATH\13"
  88. pause 5
  89. DTRSet
  90. flush
  91. jump 2
  92. !
  93. !
  94. @LABEL 3
  95. ! Error Control (EC) decided by VarString 4
  96. !    If VarString 4=0, EC handled by computer (ARAP)
  97. !    If VarString 4=1, EC handled by modem (v.42/MNP2-4)
  98. !    If VarString 4=2, EC handled by modem (2 not supported)
  99. ifstr 4 4 "1"
  100. ifstr 4 4 "2"
  101. matchclr
  102. matchstr 1 5 "OK\13\10"
  103. write "AT&M0\13"
  104. matchread 30
  105. jump 100
  106. !
  107. @LABEL 4
  108. ! Data Compression (DC) decided by VarString 5
  109. !    If VarString 5=0, DC handled by computer
  110. !    If VarString 5=1, DC handled by modem (v.42bis/MNP5)
  111. ifstr 5 5 "1"
  112. !
  113. matchclr
  114. matchstr 1 5 "OK\13\10"
  115. write "AT&K0\13"
  116. matchread 30
  117. jump 100
  118. !
  119. @LABEL 5
  120. ! Modem Speaker decided by VarString 2
  121. !    If VarString 2=0, modem speaker off
  122. !    If VarString 2=1, modem speaker on
  123. ifstr 2 10 "1"
  124. pause 5
  125. matchclr
  126. matchstr 1 10 "OK\13\10"
  127. write "ATM0\13"
  128. matchread 30
  129. jump 100
  130. !
  131. ! Labels 6-9 are for instances where the computer or modem will not 
  132. ! respond at 230.4 port speed
  133. @LABEL 6
  134. serreset 115200, 0, 8, 1
  135. hsreset 0 0 0 0 0 0
  136. settries 0
  137. matchclr
  138. matchstr 1 2 "OK\13\10"
  139. write "AT\13"
  140. matchread 30
  141. jump 7
  142. !
  143. @LABEL 7
  144. serreset 57600, 0, 8, 1
  145. hsreset 0 0 0 0 0 0
  146. settries 0
  147. matchclr
  148. matchstr 1 2 "OK\13\10"
  149. write "AT\13"
  150. matchread 30
  151. jump 8
  152. !
  153. @LABEL 8
  154. serreset 38400, 0, 8, 1
  155. hsreset 0 0 0 0 0 0
  156. settries 0
  157. matchclr
  158. matchstr 1 2 "OK\13\10"
  159. write "AT\13"
  160. matchread 30
  161. jump 9
  162. !
  163. @LABEL 9
  164. serreset 19200, 0, 8, 1
  165. hsreset 0 0 0 0 0 0
  166. settries 0
  167. matchclr
  168. matchstr 1 2 "OK\13\10"
  169. write "AT\13"
  170. matchread 30
  171. jump 100
  172. !
  173. @LABEL 10
  174. ifANSWER 25
  175. !
  176. ! Dialing mode decided by VarString 6
  177. !    If VarString 6=0, normal dialing
  178. !    If VarString 6=1, blind dialing
  179. !    If VarString 6=2, manual dialing
  180. ifstr 6 12 "1"
  181. ifstr 6 11 "2"
  182. jump 13
  183. !
  184. @LABEL 11
  185. ! Display dialog for manual dialing
  186. ASK 2 "Pick up the phone & dial ^1. Hit OK when the phone rings, then hangup." 105
  187. note "Manual dialing started" 3
  188. ! X3 to ignore dialtone & busy, D to dial, \^ generates data tone
  189. write "ATX3D\^\13"
  190. jump 25
  191. !
  192. @LABEL 12
  193. note "Dialing blind" 3
  194. matchclr
  195. matchstr 1 13 "OK\13\10"
  196. ! X1 to ignore dialtone & busy
  197. write "ATX1\13"
  198. matchread 30
  199. jump 100
  200. !
  201. @LABEL 13
  202. ! Display the full dialstring contained in Varstring 1
  203. note "Dialing ^1" 3
  204. !
  205. ! Varstrings 7, 8 and 9, contain dialstring fragments
  206. !    Long phone numbers may need to be split into smaller groups
  207. !    for the modem to use
  208. !
  209. ! Varstring 3:  "p" for pulse & "t" for tone dialing
  210. ! Varstring 8 == blank (dialstring in varstring 7)
  211. ! Varstring 9 == blank (dialstring in varstrings 7 & 8)
  212. ! Otherwise (dialstring in varstrings 7, 8 & 9)
  213. pause 1
  214. ifstr 8 20 " "
  215. ifstr 9 18 " "
  216. !
  217. @LABEL 14
  218. !  Write dialstring in varstrings 7, 8 & 9
  219. matchclr
  220. matchstr 1 15 "OK\13\10"
  221. write "ATD^3^7;\13"
  222. matchread 400
  223. jump 20
  224. !
  225. @LABEL 15
  226. matchclr
  227. matchstr 1 16 "OK\13\10"
  228. write "ATD^3^8;\13"
  229. matchread 400
  230. jump 100
  231. !
  232. @LABEL 16
  233. write "ATD^3^9\13"
  234. jump 25
  235. !
  236. @LABEL 18
  237. !  Write dialstring in varstrings 7 & 8
  238. matchclr
  239. matchstr 1 19 "OK\13\10"
  240. write "ATD^3^7;\13"
  241. matchread 400
  242. jump 20
  243. !
  244. @LABEL 19
  245. write "ATD^3^8\13"
  246. jump 25
  247. !
  248. @LABEL 20
  249. !  Write dialstring in varstring 7
  250. write "ATD^3^7\13"
  251. !
  252. @LABEL 25
  253. matchclr
  254. matchstr  1 80  "RING\13\10"
  255. matchstr  2 101 "NO DIAL TONE\13\10"
  256. matchstr  3 102 "NO CARRIER"
  257. matchstr  4 102 "ERROR\13\10"
  258. matchstr  5 103 "BUSY\13\10"
  259. matchstr  6 104 "NO ANSWER\13\10"
  260. matchstr  7 26  "CONNECT "
  261. matchstr  8 29  "CONNECT\13\10"
  262. matchread 700
  263. ifANSWER 25
  264. jump 100
  265. !
  266. !  Parse the speed of connect result codes
  267. !  2400 and 4800 have two entries each
  268. !  to distinguish them from 24000 and 48000
  269. !
  270. @LABEL 26
  271. matchclr
  272. matchstr  1 29 "2400\13"
  273. matchstr  2 29 "2400/"
  274. matchstr  3 30 "4800\13"
  275. matchstr  4 30 "4800/"
  276. matchstr  5 31 "7200"
  277. matchstr  6 32 "9600"
  278. matchstr  7 33 "12000"
  279. matchstr  8 34 "14400"
  280. matchstr  9 35 "16800"
  281. matchstr 10 36 "19200"
  282. matchstr 11 37 "21600"
  283. matchstr 12 38 "24000"
  284. matchstr 13 39 "26400"
  285. matchstr 14 40 "28000"
  286. matchstr 15 41 "28800"
  287. matchstr 16 42 "29333"
  288. matchstr 17 43 "30666"
  289. matchstr 18 44 "31200"
  290. matchstr 19 45 "32000"
  291. matchstr 20 46 "33333"
  292. matchstr 21 47 "33600"
  293. matchstr 22 48 "34666"
  294. matchstr 23 49 "36000"
  295. matchstr 24 50 "37333"
  296. matchstr 25 51 "38666"
  297. matchstr 26 52 "40000"
  298. matchstr 27 53 "41333"
  299. matchstr 28 54 "42666"
  300. matchstr 29 55 "44000"
  301. matchstr 30 56 "45333"
  302. matchstr 31 57 "46666"
  303. matchstr 32 58 "48000"
  304. matchstr  1 59 "49333"
  305. matchstr  2 60 "50666"
  306. matchstr  3 61 "52000"
  307. matchstr  4 62 "53333"
  308. matchstr  5 63 "54666"
  309. matchstr  6 64 "56000"
  310. matchstr  7 65 "57333"
  311. matchstr  8 66 "58666"
  312. matchstr  9 67 "60000"
  313. matchstr 10 68 "64000"
  314. matchread 30
  315. jump 69
  316. !
  317. ! -- Connection rates --
  318. ! CommunicatingAt informs ARA of the DCE speed
  319. !
  320. @LABEL 29
  321. note "Communicating at 2400 bps." 2
  322. CommunicatingAt 2400
  323. jump 70
  324. !
  325. @LABEL 30
  326. note "Communicating at 4800 bps." 2
  327. CommunicatingAt 4800
  328. jump 70
  329. !
  330. @LABEL 31
  331. note "Communicating at 7200 bps." 2
  332. CommunicatingAt 7200
  333. jump 70
  334. !
  335. @LABEL 32
  336. note "Communicating at 9600 bps." 2
  337. CommunicatingAt 9600
  338. jump 70
  339. !
  340. @LABEL 33
  341. note "Communicating at 12000 bps." 2
  342. CommunicatingAt 12000
  343. jump 70
  344. !
  345. @LABEL 34
  346. note "Communicating at 14400 bps." 2
  347. CommunicatingAt 14400
  348. jump 70
  349. !
  350. @LABEL 35
  351. note "Communicating at 16800 bps." 2
  352. CommunicatingAt 16800
  353. jump 70
  354. !
  355. @LABEL 36
  356. note "Communicating at 19200 bps." 2
  357. CommunicatingAt 19200
  358. jump 70
  359. !
  360. @LABEL 37
  361. note "Communicating at 21600 bps." 2
  362. CommunicatingAt 21600
  363. jump 70
  364. !
  365. @LABEL 38
  366. note "Communicating at 24000 bps." 2
  367. CommunicatingAt 24000
  368. jump 70
  369. !
  370. @LABEL 39
  371. note "Communicating at 26400 bps." 2
  372. CommunicatingAt 26400
  373. jump 70
  374. !
  375. @LABEL 40
  376. note "Communicating at 28000 bps." 2
  377. CommunicatingAt 28000
  378. jump 70
  379. !
  380. @LABEL 41
  381. note "Communicating at 28800 bps." 2
  382. CommunicatingAt 28800
  383. jump 70
  384. !
  385. @LABEL 42
  386. note "Communicating at 29333 bps." 2
  387. CommunicatingAt 29333
  388. jump 70
  389. !
  390. @LABEL 43
  391. note "Communicating at 30666 bps." 2
  392. CommunicatingAt 30666
  393. jump 70
  394. !
  395. @LABEL 44
  396. note "Communicating at 31200 bps." 2
  397. CommunicatingAt 31200
  398. jump 70
  399. !
  400. @LABEL 45
  401. note "Communicating at 32000 bps." 2
  402. CommunicatingAt 32000
  403. jump 70
  404. !
  405. @LABEL 46
  406. note "Communicating at 33333 bps." 2
  407. CommunicatingAt 33333
  408. jump 70
  409. !
  410. @LABEL 47
  411. note "Communicating at 33600 bps." 2
  412. CommunicatingAt 33600
  413. jump 70
  414. !
  415. @LABEL 48
  416. note "Communicating at 34666 bps." 2
  417. CommunicatingAt 34666
  418. jump 70
  419. !
  420. @LABEL 49
  421. note "Communicating at 36000 bps." 2
  422. CommunicatingAt 36000
  423. jump 70
  424. !
  425. @LABEL 50
  426. note "Communicating at 37333 bps." 2
  427. CommunicatingAt 37333
  428. jump 70
  429. !
  430. @LABEL 51
  431. note "Communicating at 38666 bps." 2
  432. CommunicatingAt 38666
  433. jump 70
  434. !
  435. @LABEL 52
  436. note "Communicating at 40000 bps." 2
  437. CommunicatingAt 40000
  438. jump 70
  439. !
  440. @LABEL 53
  441. note "Communicating at 41333 bps." 2
  442. CommunicatingAt 41333
  443. jump 70
  444. !
  445. @LABEL 54
  446. note "Communicating at 42666 bps." 2
  447. CommunicatingAt 42666
  448. jump 70
  449. !
  450. @LABEL 55
  451. note "Communicating at 44000 bps." 2
  452. CommunicatingAt 44000
  453. jump 70
  454. !
  455. @LABEL 56
  456. note "Communicating at 45333 bps." 2
  457. CommunicatingAt 45333
  458. jump 70
  459. !
  460. @LABEL 57
  461. note "Communicating at 46666 bps." 2
  462. CommunicatingAt 46666
  463. jump 70
  464. !
  465. @LABEL 58
  466. note "Communicating at 48000 bps." 2
  467. CommunicatingAt 48000
  468. jump 70
  469. !
  470. @LABEL 59
  471. note "Communicating at 49333 bps." 2
  472. CommunicatingAt 49333
  473. jump 70
  474. !
  475. @LABEL 60
  476. note "Communicating at 50666 bps." 2
  477. CommunicatingAt 50666
  478. jump 70
  479. !
  480. @LABEL 61
  481. note "Communicating at 52000 bps." 2
  482. CommunicatingAt 52000
  483. jump 70
  484. !
  485. @LABEL 62
  486. note "Communicating at 53333 bps." 2
  487. CommunicatingAt 53333
  488. jump 70
  489. !
  490. @LABEL 63
  491. note "Communicating at 54666 bps." 2
  492. CommunicatingAt 54666
  493. jump 70
  494. !
  495. @LABEL 64
  496. note "Communicating at 56000 bps." 2
  497. CommunicatingAt 56000
  498. jump 70
  499. !
  500. @LABEL 65
  501. note "Communicating at 57333 bps." 2
  502. CommunicatingAt 57333
  503. jump 70
  504. !
  505. @LABEL 66
  506. note "Communicating at 58666 bps." 2
  507. CommunicatingAt 58666
  508. jump 70
  509. !
  510. @LABEL 67
  511. note "Communicating at 60000 bps." 2
  512. CommunicatingAt 60000
  513. jump 70
  514. !
  515. @LABEL 68
  516. note "Communicating at 64000 bps." 2
  517. CommunicatingAt 64000
  518. jump 70
  519. !
  520. @LABEL 69
  521. note "Communicating at an unknown rate." 2
  522. jump 70
  523. !
  524. !
  525. ! Look for error control and data compression results 
  526. ! at the end of the connect result.
  527. !
  528. @LABEL 70
  529. matchclr
  530. matchstr  1 71 "LAPM"
  531. matchstr  2 71 "ARQ"
  532. matchstr  3 72 "V42BIS"
  533. matchstr  4 71 "MNP\13"
  534. matchstr  5 72 "MNP5"
  535. matchstr  6 75 "\10"
  536. matchread 30
  537. jump 75
  538. !
  539. ! -- Modem error control link negotiation --
  540. ! Userhook 2 informs ARA that the modem has established error control
  541. !
  542. @LABEL 71
  543. note "Modem Error Control Established." 2
  544. userhook 2
  545. jump 70
  546. !
  547. ! -- Compression negotiation --
  548. ! Userhook 3 informs ARA that the modem has established data compression
  549. !
  550. @LABEL 72
  551. note "Modem Data Compression Established." 2
  552. userhook 3
  553. jump 70
  554. !
  555. ! -- Normal exit after "CONNECT" --
  556. !
  557. !  This modem has been setup to do RTS/CTS handshaking,
  558. !  and we assume that the proper cable is being used.
  559. !
  560. @LABEL 75
  561. ! Turn on RTS/CTS handshaking.
  562. HSReset 0 1 0 0 0 1
  563. !
  564. ifANSWER 76
  565. pause 30
  566. @LABEL 76
  567. exit 0
  568. !
  569. !    A RING result from the modem and in ANSWERING mode
  570. !    claims the serial port and answering the phone
  571. !
  572. @LABEL 80
  573. ifORIGINATE 25
  574. userhook 1
  575. note "Answering phone..." 2
  576. write "ATA\13"
  577. jump 25
  578. !
  579. ! ---- Hang up and reset modem ----
  580. !
  581. @HANGUP
  582. @LABEL 90
  583. settries 0
  584. HSReset 0 0 0 0 0 0
  585. !
  586. @LABEL 91
  587. !  Escape from data to command mode
  588. matchclr
  589. matchstr 1 92 "OK\13\10"
  590. matchstr 2 92 "NO CARRIER\13\10"
  591. write "AT\13"
  592. matchread 50
  593. pause 1
  594. write "+++"
  595. pause 1
  596. matchread 100
  597. !
  598. @LABEL 92
  599. ! Force a hangup
  600. matchclr
  601. matchstr 1 94 "NO CARRIER\13\10"
  602. matchstr 2 94 "OK\13\10"
  603. matchstr 3 94 "ERROR\13\10"
  604. write "ATH\13"
  605. matchread 100
  606. ! Try to get control of the modem by toggling DTR
  607. DTRClear
  608. pause 2
  609. DTRSet
  610. flush
  611. !
  612. ! Try the hangup sequence three times otherwise declare and error
  613. inctries
  614. iftries 3 93
  615. jump 91
  616. !
  617. @LABEL 93
  618. ! Error message if modem will not hang up
  619. pause 1
  620. NOTE "Modem is not hanging up properly. Please turn the modem off and back on." 3
  621. jump 100
  622. !
  623. @LABEL 94
  624. ! Recall the factory settings
  625. pause 15
  626. matchclr
  627. matchstr 1 95 "OK\13\10"
  628. write "AT&F&A3&B1&H1&R2&D0&K3&M4E0S0=0X4\13"
  629. matchread 30
  630. jump 100
  631. !
  632. @LABEL 95
  633. exit 0
  634. !
  635. ! ---- Error messages -----
  636. !
  637. ! Modem Not Responding
  638. @LABEL 100
  639. exit -6019
  640. !
  641. ! No Dial Tone
  642. @LABEL 101
  643. exit -6020
  644. !
  645. ! No Carrier or Error
  646. @LABEL 102
  647. exit -6021
  648. !
  649. ! Busy
  650. @LABEL 103
  651. exit -6022
  652. !
  653. ! No Answer
  654. @LABEL 104
  655. exit -6023
  656. !
  657. ! User Cancellation
  658. @LABEL 105
  659. exit -6008
  660. !
  661. !The End
  662.